package service;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import model.Datentraeger;
import model.Datentraeger.DatentraegerInfo;
import dao.DAO;

public interface DatentraegerService extends Serializable, Service<Datentraeger>
{
	/**
	 * @return
	 * @throws SQLException 
	 */
	List<Datentraeger> getDatentraegers ();
	
	/**
	 * @param Datentraeger
	 * @return
	 * @throws SQLException 
	 */
	Datentraeger getDatentraegerForName (String Datentraeger);

	/**
	 * @param id
	 * @return
	 * @throws SQLException 
	 */
	Datentraeger getDatentraegerById(String id);

	/**
	 * @param dat
	 * @return
	 * @throws SQLException 
	 */
	Datentraeger saveToDatabase(Datentraeger dat);

	/**
	 * @param dat
	 * @return
	 * @throws SQLException 
	 */
	int deleteDatentraeger(Datentraeger dat);
	
	/**
	 * @return
	 */
	public DAO<Datentraeger> getDao();
	
	/**
	 * @param dao
	 */
	public void setDatentraegerSqlDAO(DAO<Datentraeger> dao);

	/**
	 * @return
	 */
	ArrayList<DatentraegerInfo> getDatentraegerInfos();
}